#-*- coding: utf-8 -*-
from uiautomator import Device
import time
import gevent
from gevent import monkey
#听说是个补丁
monkey.patch_all()
import threading

import docx

def run():
	#自定义的字符串替换列表
	#形式为u'aaa' : u'bbb'
	#每次新建一个关键字替换都必须按照上面的格式
	#其中'aaa'为旧字符串,'bbb'为新字符串，u是格式转换符必须添加
	#由于搜索方法并不智能，旧的关键字必须唯一 否则可能会替换掉文章中其他地方的字符
	#例如 hello,python!,想把hello的o替换成Q ，最后输出可能是hellQ，pythQn
	#所以如果想要只替换hello ，可以尝试 u'lo' : u'lQ' ,而不是u'o' : u'Q'
	#最后请注意必须在末尾加上英文的逗号','
	str_list = {u'安装完毕交付甲方':u'交货验收合格',
				u'视为验收不合格':u'你好吗',
				u'adb install':u'adb devices',
				u'并达到优良等级标准':u'并达到lv99标准',}
	#功能大致说明，遍历文档中所有段落
	#将每一个段落都与str_list匹配，如果该段落有关键字就将其替换
	#替换并没有加入次数限制或者其他判断，
	#也就是说，可能会出现替换掉其他段落不需要替换的句子词语
	def replace(func):
		doc = docx.Document(r'C:\1word.docx')
		#print len(doc.paragraphs)
		#遍历所有段落
		for k in xrange(len(doc.paragraphs)):
			a = doc.paragraphs[k].text
			#把段落转换成utf8
			b = a.encode('utf-8')
			for x in xrange(len(str_list)):
				#获取字典的键
				key = str_list.keys()[x]
				#print type(key)
				#查找段落中有没有与键匹配的词语
				#有的话就替换成与键匹配的值
				if b.find(key.encode('utf-8')) != -1:
					print  '找到关键字：%s'%(key.encode('utf-8')),' -修改为-> %s'%(str_list[key].encode('utf-8'))
					b = b.replace(key.encode('utf-8'),str_list[key].encode('utf-8'))
					print b
					#替换好语句重新放入段落中
					#type需改回Unicode格式
					doc.paragraphs[k].text = b.decode('utf-8')
		print r'保存到C:\2word.docx'
		doc.save(r'C:\2word.docx')

		'''
		a = doc.paragraphs[36].text
		print type(a)
		a = a.encode('utf-8')
		print type(a)
		print a
		'''

		'''
		for x in xrange(len(str_list)):
			key = str_list.keys()[x]
			#print type(key)
			a = a.replace(key.encode('utf-8'),str_list[key].encode('utf-8'))
		'''

		'''
		a = a.replace('安装完毕交付甲方','交货验收合格前')
		a = a.replace('视为验收不合格，乙方需按条第十五条第2款承担违约责任。','造成货物损失的，按直接损失进行赔偿')
		a = a.replace('adb install','adb devices')
		'''
		
	
		'''
		d = Device(func)
		print d.info
		print func
		while  1 > 0:

			d(resourceId='com.tencent.qlauncher.lite:id/search_header_icon').click()
			d(resourceId='com.tencent.qlauncher.lite:id/search_src_text').click()
			d(resourceId='com.tencent.qlauncher.lite:id/search_src_text').set_text("yy")
			time.sleep(1)
			d.click(661,1214)
			time.sleep(10)
			for x in xrange(1,5):
				d.press("back")
				time.sleep(0.3)
			time.sleep(1)
		'''


	gevent.joinall([
	        #gevent.spawn(music, '4d00b50cebd6400d'),
	        #gevent.spawn(j, 'zhonghuanm'),
	        gevent.spawn(replace, 'LJGIVK6HNVK745YD'),
	        #gevent.spawn(j, 'zhonghuanm'),
	])


threads = []
t1 = threading.Thread(target=run)
threads.append(t1)

for t in threads:
	t.setDaemon(True)
	t.start()
t.join()

def F(func):
	try:
		assert 1!=1 ,'error'
	except:
		return False
	return True

txt = F('123')
print txt